﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Inspired.Euler
{
    /// <summary>
    /// Starting with the number 1 and moving to the right in a clockwise direction a 5 by 5 spiral is formed as follows:
    ///
    /// 21 22 23 24 25
    /// 20  7  8  9 10
    /// 19  6  1  2 11
    /// 18  5  4  3 12
    /// 17 16 15 14 13
    ///
    /// It can be verified that the sum of the numbers on the diagonals is 101.
    ///
    /// What is the sum of the numbers on the diagonals in a 1001 by 1001 spiral formed in the same way?
    /// </summary>
    public static class Problem028
    {
        /// <summary>
        /// What is the sum of both diagonals in a 1001 by 1001 spiral?
        /// </summary>
        public static void Main()
        {
            
            int side = 1001;
            double sum = 1;

            for (int i = side; i > 1; i-=2)
            {
                double upperRight = (i * (i - 0)) + 0;
                double upperLeft = (i * (i - 1)) + 1;
                double lowerLeft = (i * (i - 2)) + 2;
                double lowerRight = (i * (i - 3)) + 3;
                sum += upperRight + upperLeft + lowerLeft + lowerRight;
            }
            Console.WriteLine(sum);
            Console.Read();
        }
    }
}
